package models;

import play.*;
import play.data.validation.Range;
import play.data.validation.Required;
import play.db.jpa.*;


import javax.persistence.*;

import java.sql.Time;
import java.util.*;

@Entity
public class Dentista extends Pessoa {
	
	@Required
	public String cro;
	
	
	/**
	 * Horário inicial do dentista
	 */
	@Range(min=7,max=12,message="Horário inválido")
	public int horaInicialManha;
	
	
	/**
	 * Horário final do dentista
	 */
	@Range(min=7,max=12,message="Horário inválido")
	public int horaFinalManha;
	
	/**
	 * Horário inicial do dentista
	 */
	@Range(min=12,max=20,message="Horário inválido")
	public int horaInicialTarde;
	
	
	/**
	 * Horário final do dentista
	 */
	@Range(min=12,max=20,message="Horário inválido")
	public int horaFinalTarde;
	
	
	public String getHorarioCompleto()
	{
		return horaInicialManha + ":00 à "
				+ horaFinalManha + ":00 e "
				+ horaInicialTarde + ":00 à "
				+ horaFinalTarde + ":00";
	}
	
	@Override
	public String toString() {
		return "Dentista [cro=" + cro + ", horaInicialManha="
				+ horaInicialManha + ", horaFinalManha=" + horaFinalManha
				+ ", horaInicialTarde=" + horaInicialTarde
				+ ", horaFinalTarde=" + horaFinalTarde + ", nome=" + nome
				+ ", login=" + login + ", senha=" + senha + ", id=" + id + "]";
	}

	///
	/// Definição dos horários padrão de atendimento
	/// 
	public int getHoraInicialManha() {
		return horaInicialManha!=0?horaInicialManha:9;
	}


	public int getHoraFinalManha() {
		return horaFinalManha!=0?horaFinalManha:12;
	}


	public int getHoraInicialTarde() {
		return horaInicialTarde!=0?horaInicialTarde:14;
	}


	public int getHoraFinalTarde() {
		return horaFinalTarde!=0?horaFinalTarde:18;
	}
	
    
}
